Index: main/plugin-cms/resources/js/Ametys/cms/content/ContentDAO.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/cms/content/ContentDAO.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/cms/content/ContentDAO.i18n.js	(working copy)
@@ -165,9 +165,9 @@
 		 * @param {Boolean} [fullContents=false] If `true`, the callback function receives a Content object as argument. If `false`, only the content id is provided.
 		 * @param {String} [contentMessageTargetType=Ametys.message.MessageTarget#CONTENT] The message target factory role to use for the event of the bus thrown after content creation
 		 * @param {String} [parentContentMessageTargetType=Ametys.message.MessageTarget#CONTENT] The message target factory role to use for the event of the bus thrown after parent content modification if applyable
-		 * @param {Ext.Element} [waitMsgElt] The element that will be masked by the wait message
+		 * @param {Ext.Component} [waitMsgCmp] The component that will be masked by the wait message
 		 */
-		createContent: function (config, callback, scope, fullContents, contentMessageTargetType, parentContentMessageTargetType, waitMsgElt)
+		createContent: function (config, callback, scope, fullContents, contentMessageTargetType, parentContentMessageTargetType, waitMsgCmp)
 		{
 			// type, name and language are mandatory.
 			if (!config.contentType || !config.contentTitle || !config.contentLanguage)
@@ -218,7 +218,7 @@
 				parameters: params,
 				
 				priority: Ametys.data.ServerComm.PRIORITY_MAJOR, 
-				waitMessage: {msg: "<i18n:text i18n:key='DAOS_CONTENT_CREATE_REQUEST_WAIT'/>", target: waitMsgElt},
+				waitMessage: {msg: "<i18n:text i18n:key='DAOS_CONTENT_CREATE_REQUEST_WAIT'/>", target: waitMsgCmp},
 				errorMessage: {
 					msg: "<i18n:text i18n:key='DAOS_CONTENT_CREATE_REQUEST_ERROR'/>",
 					category: Ext.getClassName(this) + '.createContent'
Index: main/plugin-cms/resources/js/Ametys/cms/uihelper/CreateContent.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/cms/uihelper/CreateContent.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/cms/uihelper/CreateContent.i18n.js	(working copy)
@@ -466,7 +466,7 @@
 			this._fullContents,
 			null, 
 			null, 
-			this._box.getEl()
+			this._box
 		);
 	}
 });
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/actions/ArchiveContentAction.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/actions/ArchiveContentAction.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/actions/ArchiveContentAction.i18n.js	(working copy)
@@ -117,7 +117,8 @@
     {
         var url = 'archives/archive/' + actionId;
         
-        this._waitMsg = new Ext.LoadMask({target: Ext.getBody(), msg: "<i18n:text i18n:key='CONTENT_ARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
+        var viewport = Ext.ComponentQuery.query('viewport')[0];
+        this._waitMsg = new Ext.LoadMask({target: viewport, msg: "<i18n:text i18n:key='CONTENT_ARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
         this._waitMsg.show();
         
         var contentIds = [];
@@ -224,7 +225,8 @@
     {
         var url = 'archives/unarchive/' + actionId;
         
-        this._waitMsg = new Ext.LoadMask({target: Ext.getBody(), msg: "<i18n:text i18n:key='CONTENT_UNARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
+        var viewport = Ext.ComponentQuery.query('viewport')[0];
+        this._waitMsg = new Ext.LoadMask({target: viewport, msg: "<i18n:text i18n:key='CONTENT_UNARCHIVE_WAITING_MESSAGE'/>", msgCls: 'ametys-mask-unloading'});
         this._waitMsg.show();
         
         var contentIds = [];
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContent.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContent.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContent.i18n.js	(working copy)
@@ -351,7 +351,7 @@
 			},
 			waitMessage: {
 				msg: "<i18n:text i18n:key='PLUGINS_CMS_HELPER_COPYCONTENT_WAIT_MSG'/>", 
-				target: this._box.getEl()
+				target: this._box
 			},
 			errorMessage: {
 				category: Ext.getClassName(this) + '._ok',
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContentValues.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContentValues.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/helper/CopyContentValues.i18n.js	(working copy)
@@ -216,7 +216,7 @@
 			},
 			waitMessage: {
 				msg: "<i18n:text i18n:key='PLUGINS_CMS_HELPER_COPYCONTENT_WAIT_MSG'/>", 
-				target: this._box.getEl()
+				target: this._box
 			},
 			errorMessage: {
 				category: Ext.getClassName(this) + '._ok',
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/content/tree/MetadataSetTree.i18n.js	(working copy)
@@ -141,9 +141,6 @@
 	 */
 	initialize: function(config)
 	{
-//		this._loadMask = this._loadMask || Ext.create('Ext.LoadMask', this, {});
-//		this._loadMask.show();
-		
 		this._isLoading = true;
 		
 		// content identifier or content type is mandatory.
@@ -434,7 +431,7 @@
 		// Handling load mask...
 		if (this._isLoading)
 		{
-			this._loadMask = this._loadMask || Ext.create('Ext.LoadMask', this, {});
+			this._loadMask = this._loadMask || Ext.create('Ext.LoadMask', this, {target: tree});
 			this._loadMask.show();
 		}
 		
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagActions.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagActions.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagActions.i18n.js	(working copy)
@@ -279,7 +279,7 @@
     				handler: this._initEditForm,
     			},
     			waitMessage: {
-                    target: this._box.getEl(),
+                    target: this._box,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
     		});
@@ -342,7 +342,7 @@
         				handler: this._addTagCb,
         			},
         			waitMessage: {
-                        target: this._box.getEl(),
+                        target: this._box,
                         msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                     },
                     errorMessage: {
@@ -362,7 +362,7 @@
         				handler: this._editTagCb,
         			},
         			waitMessage: {
-                        target: this._box.getEl(),
+                        target: this._box,
                         msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                     },
                     errorMessage: {
Index: main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagsTreePanel.i18n.js
===================================================================
--- main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagsTreePanel.i18n.js	(revision 28782)
+++ main/plugin-cms/resources/js/Ametys/plugins/cms/tag/TagsTreePanel.i18n.js	(working copy)
@@ -214,7 +214,7 @@
                     scope: this
                 },
                 waitMessage: {
-                    target: this.getEl(),
+                    target: this,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
             });
@@ -638,7 +638,7 @@
                     scope: this
                 },
                 waitMessage: {
-                    target: this.getEl(),
+                    target: this,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
             });
@@ -655,7 +655,7 @@
                     scope: this
                 },
                 waitMessage: {
-                    target: this.getEl(),
+                    target: this,
                     msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
                 }
             });
Index: main/workspace-cms/resources/js/Ametys/cms/form/FormEditionPanel.i18n.js
===================================================================
--- main/workspace-cms/resources/js/Ametys/cms/form/FormEditionPanel.i18n.js	(revision 28783)
+++ main/workspace-cms/resources/js/Ametys/cms/form/FormEditionPanel.i18n.js	(working copy)
@@ -394,10 +394,9 @@
 	 */
 	_expandOrCollapseAllInlineTab: function (tabpanel, btn, collapse)
 	{
-		var mask = new Ext.LoadMask(tabpanel.getEl(), {msg: "<i18n:text i18n:key='FORM_EDITION_INLINETAB_WAIT_MSG'/>"});
-		mask.show();
+		tabpanel.mask("<i18n:text i18n:key='FORM_EDITION_INLINETAB_WAIT_MSG'/>");
 		
-		Ext.Function.defer(this._doExpandOrCollapseAllInlineTab, 100, this, [tabpanel, btn, collapse, mask]);
+		Ext.Function.defer(this._doExpandOrCollapseAllInlineTab, 100, this, [tabpanel, btn, collapse]);
 	},
 	
 	/**
@@ -406,9 +405,8 @@
 	 * @param {Ext.panel.Panel} tabpanel The panel containing items to collapse or expand
 	 * @param {Ext.Button} btn the clicked button to collapse or expand all
 	 * @param {Boolean} collapse true to collapse all tab' items or false to expand
-	 * @param {Ext.LoadMask} mask the load mask
 	 */
-	_doExpandOrCollapseAllInlineTab : function (tabpanel, btn, collapse, mask)
+	_doExpandOrCollapseAllInlineTab : function (tabpanel, btn, collapse)
 	{
 		this.suspendLayouts();
 		
@@ -2064,7 +2062,7 @@
 				this._tabPolicy =  Ametys.runtime.userprefs.UserPrefsDAO.getValue('edition-tab-policy');
 				
 				this._mask = Ext.create('Ext.LoadMask', {
-					target: this.getEl(),
+					target: this,
 					msg: "<i18n:text i18n:key='KERNEL_LOADMASK_DEFAULT_MESSAGE' i18n:catalogue='kernel'/>"
 				});
 				this._mask.show();
Index: main/workspace-cms/stylesheets/cms.xsl
===================================================================
--- main/workspace-cms/stylesheets/cms.xsl	(revision 28782)
+++ main/workspace-cms/stylesheets/cms.xsl	(working copy)
@@ -363,7 +363,7 @@
 				                                ribbon,
 				                                Ametys.tool.ToolsManager.getToolsLayout().createLayout()
 				                            ],
-                                               listeners: {'afterrender': function() { <xsl:if test="$splashscreen != 'no'">hideSplashscreen(); </xsl:if>this.show()}}
+                                            listeners: {'afterrender': function() { <xsl:if test="$splashscreen != 'no'">hideSplashscreen(); </xsl:if>this.show()}}
 				                        });
 
 		                                /** Empty selection */